import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './plugins/element.js'
import axios from 'axios'
// 导入全局样式表
import './assets/css/global.css'

// 导入字体图标
import './assets/fonts/iconfont.css'

// 导入树形控件
import TreeTable from 'vue-table-with-tree-grid'

// 导入富文本编辑器
import VueQuillEditor from 'vue-quill-editor'
// require styles 引入富文本编辑器的样式
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'

Vue.component('tree-table', TreeTable)
// 将富文本编辑器 注册为全局可用的组件
Vue.use(VueQuillEditor)

// 第1种,这里前面要这样写{{scope.row.add_time|dateFormat}}
Vue.filter('dateFormat', function(originVal){
  const dt = new Date(originVal)
  const y = dt.getFullYear()
  const m = (dt.getMonth() + 1 + '').padStart(2, 0)
  const d = (dt.getDate() + '').padStart(2, 0)
  const hh = (dt.getHours() + '').padStart(2, 0)
  const mm = (dt.getMinutes() + '').padStart(2, 0)
  const ss = (dt.getSeconds() + '').padStart(2, 0)
  return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
})
// 第2种 过滤器(这2种都能实现时间的过滤），这前面要这样写{{date|format('yyyy-MM-dd hh:mm:ss')}}
// Vue.filter('format', function (value, arg) {
//   function dateFormat (date, format) {
//     if (typeof date === 'string') {
//       var mts = date.match(/(\/Date\((\d+)\)\/)/)
//       if (mts && mts.length >= 3) {
//         date = parseInt(mts[2])
//       }
//     }
//     date = new Date(date)
//     if (!date || date.toUTCString() === 'Invalid Date') {
//       return ''
//     }
//     var map = {
//       M: date.getMonth() + 1, // 月份
//       d: date.getDate(), // 日
//       h: date.getHours(), // 小时
//       m: date.getMinutes(), // 分
//       s: date.getSeconds(), // 秒
//       q: Math.floor((date.getMonth() + 3) / 3), // 季度
//       S: date.getMilliseconds() // 毫秒
//     }

//     format = format.replace(/([yMdhmsqS])+/g, function (all, t) {
//       var v = map[t]
//       if (v !== undefined) {
//         if (all.length > 1) {
//           v = '0' + v
//           v = v.substr(v.length - 2)
//         }
//         return v
//       } else if (t === 'y') {
//         return (date.getFullYear() + '').substr(4 - all.length)
//       }
//       return all
//     })
//     return format
//   }
//   return dateFormat(value, arg)
// })
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  // console.log(config)
  config.headers.Authorization = window.sessionStorage.getItem('token')
  return config
})
  
// 配置请求的根路径
axios.defaults.baseURL = 'http://127.0.0.1:8888/api/private/v1/'
Vue.prototype.$http = axios
Vue.config.productionTip = false

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
